# Copyright (C) 2006-2020 Istituto Italiano di Tecnologia (IIT)
# All rights reserved.
#
# This software may be modified and distributed under the terms of the
# BSD-3-Clause license. See the accompanying LICENSE file for details.

cmake_minimum_required(VERSION 3.12)

project(ContainerExample)


find_package(Qt5 COMPONENTS Core Widgets Quick Qml REQUIRED)


# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)


# Remove -rdynamic from CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS.
# This is needed for some weird reason, or executables will not load resources
# from the plugins.
string(REPLACE "-rdynamic" "" CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS}")


include_directories(${CMAKE_CURRENT_SOURCE_DIR}/qtquick2applicationviewer)

file(GLOB_RECURSE ContainerExample_SRCS *.cpp)
file(GLOB_RECURSE ContainerExample_HDRS *.h)
file(GLOB ContainerExample_QRC_FILES *.qrc)

qt5_add_resources(ContainerExample_QRC_GEN_FILES ${ContainerExample_QRC_FILES})

source_group("Resources Files" FILES ${ContainerExample_QRC_FILES})
source_group("Generated Files" FILES ${ContainerExample_QRC_GEN_FILES})

add_executable(ContainerExample WIN32)
target_sources(ContainerExample PRIVATE ${ContainerExample_SRCS}
                                        ${ContainerExample_HDRS}
                                        ${ContainerExample_QRC_GEN_FILES})
target_link_libraries(ContainerExample Qt5::Widgets
                                       Qt5::Qml
                                       Qt5::Quick)


#-------------------------------------------------------------------------------
# YARP is not actually required to build the project, but we use it here to
# print an useful reminder to set the QML2_IMPORT_PATH environment variable

find_package(YARP)

set(_qml2_import_path "${YARP_INSTALL_PREFIX}/${YARP_QML2_IMPORT_DIR}")
file(TO_NATIVE_PATH "${_qml2_import_path}" PLUGINS_RELATIVE_PATH)
message("YARP Qt5 plugins are installed in \n
    ${_qml2_import_path}\n
If they are not found automatically, you probably need to add this directory to your\n
    QML2_IMPORT_PATH\n
environment variable")
